home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1994 March / Internet Info CD-ROM (Walnut Creek) (March 1994).iso / inet / ien / ien-31 < prev    next >
Text File  |  1988-12-01  |  27KB  |  625 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6. IEN #31
  7.                  On Names, Addresses and Routings (II)
  8.  
  9. Dan Cohen
  10. ISI
  11. 28 April 1978
  12.  
  13.  
  14.             2.3.3.11  On Names, Addresses and Routings (II)
  15.  
  16.  
  17. SUMMARY
  18.  
  19. This note deals with internetwork addressing and routing.
  20.  
  21. It suggests the following:
  22.  
  23.      (1)  Some systems have a tree-like  hierarchical  Universal-Address
  24.           (UA) space.
  25.  
  26.      (2)  The communication connectivity is a superset of this tree.
  27.  
  28.      (3)  The postal system, the telephone  and  the  ARPANET  are  such
  29.           systems.
  30.  
  31.      (4)  The address of  a  process  tells  where  it  is  located  (or
  32.           connected  to)  by specifying the route to it from the root of
  33.           the universal addressing tree.
  34.  
  35.      (5)  The default routing to any address (unless  a  better  one  is
  36.           specifically  known)  is  up the UA-tree, from the source, and
  37.           down the tree to the destination.
  38.  
  39.           In the case of networks like the ARPANET, the set of  all  the
  40.           IMPs  (the subnet) is considered as a single process, known as
  41.           {ARPANET}.
  42.  
  43.      (6)  Since the set of all networks is not connected, it  cannot  be
  44.           tree  structured.   However, for ease of name-management it is
  45.           possible to introduce (e.g., administratively)  any  arbitrary
  46.           hierarchy   to  the  address  space  of  all  networks.   This
  47.           hierarchy is "artificial" because it is not a  subset  of  the
  48.           communication connectivity.
  49.  
  50.      (7)  Since there is no hierarchical structure to the space  of  all
  51.           networks,  there  is  no  tree-like  hierarchical internetwork
  52.           Universal-Addressing scheme.
  53.  
  54.           In particular, the notion of extending addresses like
  55.  
  56.             {NET}-[HOST]-(PORT) or {NET}-/IMP/-[HOST]-(PORT)
  57.  
  58.                                      2
  59.  
  60.  
  61.  
  62.           upward to include METANETs,  SUPERNETs  and  GIGANETs  suffers
  63.           from   the  lack  of  corresponding  underlying  communication
  64.           structure.
  65.  
  66.      (8)  Since the set of all networks is too big  to  be  captured  in
  67.           local  tables,  and since routing cannot be derived in general
  68.           from the addresses, it should always either be apriori  known,
  69.           or  supplied  by  the source.  This apriori knowledge does not
  70.           include every step (e.g., the sequence of intermediate IMPs or
  71.           PRUs).   It  has  to include only a sequence of addresses such
  72.           that the routing between them is locally known.
  73.  
  74.      (9)  The corollary of this note is
  75.  
  76.           OPTIONAL  SOURCE  ROUTING  SHOULD  BE  IMPLEMENTED.
  77.  
  78. This note explains in great detail several  aspects  of  the  addressing
  79. schemes  used by the postal and telephone systems.  It also mentions the
  80. ARPANET addressing.
  81.  
  82. These examples are used to support the arguments which are summarized in
  83. paragraphs (1)-(9) above.
  84.  
  85. Unless one is very interested in the details of these systems and  their
  86. relevance  to  the  internetwork  environment,  or in the details of the
  87. arguments, there is no need to continue reading this  note  beyond  this
  88. point.
  89.  
  90.  
  91. INTRODUCTION
  92.  
  93. Before  discussing  the  internet  addressing/routing  issues   let   us
  94. summarize the basic concepts:
  95.  
  96.      -    Processes (not hardware pieces) have names and addresses.
  97.  
  98.      -    A process may have more than one name, and  one  address,
  99.           but addresses and names correspond uniquely to processes.
  100.  
  101.      -    The name tells WHAT the process is.
  102.  
  103.      -    The address tells WHERE the process is.
  104.  
  105.      -    The route tells HOW-TO-GET-THERE.
  106.  
  107. The last three beautiful definitions are  borrowed  (with  appreciation)
  108. from John Shoch.  
  109.  
  110. More detailed  discussion  of  names  and  addresses  may  be  found  in
  111. "Internetwork   Naming,  Addressing,  and  Routing"  [Internet  Notebook
  112. Section 2.3.3.5, IEN 19] by John Shoch, and in "On Names, Addresses  and
  113. Routings" [Internet Notebook Section 2.3.3.7, IEN 23] by Danny Cohen.
  114.  
  115.                                      3
  116.  
  117.  
  118.  
  119. Generally the concept of address is well understood, but the concept  of
  120. routing  is  much  more  complex.   Who  performs the address-to-routing
  121. mapping? How is it performed? These and similar problems are  the  topic
  122. of this note.
  123.  
  124. Most of us are familiar with the postal, the telephone, and the  ARPANET
  125. addressing  schemes.   We  also  have  a  very good understanding of the
  126. routing processes performed for these networks.  In this note we discuss
  127. the   similarity  of  these  addressing  schemes,  and  argue  that  the
  128. internetwork environment violates the basic axiom  which  is  common  to
  129. them,  and  therefore  the internetwork environment requires a different
  130. addressing and routing philosophy.
  131.  
  132. This is why we have so much trouble with internet addressing  --  it  is
  133. different.  Our experience cannot be used as a model.
  134.  
  135.  
  136. ON OTHER ADDRESSING/ROUTING SCHEMES
  137.  
  138. Three  addressing/routing  schemes  are  discussed:  the   postal,   the
  139. telephone, and the ARPANET schemes.
  140.  
  141. The postal addressing scheme is a UA-scheme.  It is  defined  for  human
  142. processing, and therefore may tolerate a fair amount of redundancy which
  143. improves the robustness of the scheme with  respect  to  errors  and  to
  144. partial losses (like stains on envelopes).
  145.  
  146. At the top level of  the  hierarchy  there  is  the  country  name,  and
  147. underneath  it  there  are  as  many  addressing  schemes  as  there are
  148. countries.  Some countries use  ZIP  codes  which  identify  major  post
  149. offices,   and   require  more  information  to  identify  the  terminal
  150. addressee.  Other countries use the ZIP  code  (or  its  equivalent)  to
  151. identify  the  individual  letter-carriers,  and require less additional
  152. information to identify the terminal addressee.  In some cases, a street
  153. address is sufficient.  In others, suite number and names are required.
  154.  
  155. In summary, the postal addressing tree is of variable depth (or:  postal
  156. addresses  are  of  variable length).  Its top level (the country level)
  157. has a complete connectivity, since every country knows how to route mail
  158. to any other one.
  159.  
  160. Letters are routed, either directly to the destination or to one of  its
  161. ancestors.   This  is  performed  by  POs  either  directly or via their
  162. ancestors.
  163.  
  164. Since the address and routing processing is not fully  automated,  human
  165. intelligence  is used for resolving ambiguities, for coping with unknown
  166. addresses, for redundancy handling and the like.  Missing information is
  167. usually  supplied  by  using  common sense and defaults.  As a result, a
  168. great amount of variability in addresses can be tolerated.
  169.  
  170. For example, while at Tech, I received letters addressed to
  171.  
  172.                                      4
  173.  
  174.  
  175.  
  176.           Danny          (I was the only Danny there)
  177.           256-80         (The Computer Science Mail-stop) 
  178.           91125          (The zip code for Caltech)
  179.  
  180. I also received letters addressed to:
  181.  
  182.           Dr. Dan Cohen 
  183.           Computer Science, Mail-Stop 256-80
  184.           California Institute of Technology 
  185.           Pasadena, California 91125
  186.  
  187. The first address contains all  the  needed  information,  but  requires
  188. delicate  handling.   If  any  of  the digits is mistyped, there is very
  189. little  chance  that  the  letter  would  be  delivered  to  the   right
  190. destination.   The  second  address,  which  has  about  six  times more
  191. characters, is more robust, and can cope with the multi-Danny situation,
  192. which  (even  though  undesirable)  is  still  very probable.  The terse
  193. address has to be modified if another Danny joins this Mail-Stop.
  194.  
  195. The phone addressing is considered next.  Like the postal  system,  each
  196. telephone station has a UA.  It always starts with the country code, and
  197. usually continues with a Numbering-Plan-Area (NPA, which is the familiar
  198. Area-Code,  AC),  continues  through  a  Central  Office (CO) number and
  199. terminates with the station number.  Even though the above fields are of
  200. variable  length,  the  total  length never exceeds 12 digits.  However,
  201. when private networks are connected to the universal phone  system,  the
  202. entire address length may exceed this limit.
  203.  
  204. For example, my current phone number  is  12138221511105,  which  is  14
  205. digits  long.   The  first "1" is the USA code, and the last "105" is my
  206. station (extension) number.
  207.  
  208. At the top level of  the  hierarchy  there  is  the  country  code,  and
  209. underneath  it  there  are  as  many  addressing  schemes  as  there are
  210. countries.  All  countries  know  how  to  communicate  with  any  other
  211. country.   In  both  systems  addresses  are  of variable length, and by
  212. looking at an arbitrary address one cannot parse it into fields  without
  213. knowing the specifics of each national addressing scheme.
  214.  
  215. Here are some examples of telephone addresses and their correct  parsing
  216. as COUNTRY-NPA-CO-station:
  217.  
  218.           1-213-822-1511 (USA, LA)
  219.           44-1-387-3400  (UK, London)
  220.           44-31-332-2424 (UK, Edinburgh)
  221.           44-745-58-3301 (UK, Wales)
  222.           972-4-25-2690  (Israel, Haifa)
  223.           972-67-4-0777  (Israel, Kiryat Shmona)
  224.  
  225. Obviously, the number of fields to be dialed depends on "distance"  from
  226. the destination.
  227.  
  228.                                      5
  229.  
  230.  
  231.  
  232. Since the telephone routing is performed by (relatively)  simple  minded
  233. automated  equipment,  no  variability  in  dialing  a number is allowed
  234. (except in very unusual situations).
  235.  
  236. Like the postal addresses,  phone  dialing  sequences  are  of  variable
  237. length,  as a function of the distance to the destination.  While adding
  238. the country code ("USA") would not hurt either of the  postal  addresses
  239. shown  above,  adding  the  local AC and country code is not allowed for
  240. local phone calls.
  241.  
  242. The reason is that one does not dial the  address  (telephone  numbers),
  243. but dials the routing! The purpose of the telephone number is to be used
  244. for accounting and for deriving routing, but not for verbatim-dialing.
  245.  
  246. The actual telephone routing (i.e., hop-by-hop) is  very  efficient  and
  247. deserves   attention.    The   key  to  it  is  the  existence  of  more
  248. communication lines than branches in the UA tree.
  249.  
  250. The USA is divided into 10 regions, which subsequently are divided  into
  251. sections  and  areas.   The  grouping of areas into sections and regions
  252. cannot be simply deduced from the ACs but has to be  found  by  a  table
  253. lookup  operation.   This is because the ACs were most cleverly assigned
  254. to areas by population size and not geographically like the ZIP codes.
  255.  
  256. The routing is performed by each center assigning each call  to  a  line
  257. known  to  be  connected (or enroute) to the destination central-office.
  258. This is performed by looking at the first  six  digits  of  the  address
  259. (AC+CO).
  260.  
  261. If such a line does not exist, then the call is assigned to a line known
  262. to be connected to the principal city of the destination NPA.  If such a
  263. line does not exist either, the call is forwarded to  the  center  above
  264. this one.  Since at the top all regions are interconnected, this process
  265. is guaranteed to terminate.
  266.  
  267. In addition to the SIX digits recognition, the system is  designed  such
  268. that  in  many  cases  CO  numbers  do  not  conflict across NPAs.  This
  269. eliminated the need to dial an AC of a neighboring town, across a  state
  270. line,  which  is  necessarily  in  a  different  NPA.   This allows, for
  271. example, dialing from Washington, D.C.,  (AC=202)  to  Alexandria,  Va.,
  272. (AC=703) and to Potomac, Md., (AC=301) without dialing the AC.
  273.  
  274. The third addressing scheme is the one used in the ARPANET.
  275.  
  276. Addresses on the ARPANET are of processes which are either  NCP-like  in
  277. actual hosts or of other types in "fake" hosts.  It is logical to extend
  278. the address notion "down" to include the port, too.
  279.  
  280. Conceptually, one can consider the ARPANET as a single process or  as  a
  281. star  network.   The  fact  that this single process is implemented in a
  282. very clever way by a multitude of IMPs is irrelevant, from a  functional
  283. point  of  view.   This  allows treating this entire network as a single
  284. addressable process, the {ARPANET}, if so required.
  285.  
  286.                                      6
  287.  
  288.  
  289.  
  290. Each IMP knows how to forward messages to any other, and  therefore  all
  291. IMPs constitute the top-level (and the only level) for routing.
  292.  
  293. In the ARPANET all the connections are between centers  (nodes)  of  the
  294. same  (and  only)  level.  This is in contrast to the telephone network,
  295. which has several levels of centers, partially connected at  all  levels
  296. (except  the  top,  where  they  are fully connected) and also partially
  297. connected between levels.
  298.  
  299. An ARPANET address is of the form {ARPANET}-[HOST]-(PORT), which one may
  300. consider  as  {ARPANET}-/IMP/-[HOST]-(PORT).  Adding the /IMP/ field may
  301. help in the ARPANET situation, though some generality will be lacking.
  302.  
  303. This is a valid address, since the {ARPANET}-process (which is  the  set
  304. of  all  IMPs)  can  forward  messages  to all hosts, and hosts can give
  305. messages to PORTs.  Therefore, routing every message up to the {ARPANET}
  306. and then down through the host to the destination port is a good default
  307. routing strategy.
  308.  
  309.  
  310. INTERNETWORK ADDRESSING
  311.  
  312. After this (very)  long  introduction,  let's  return  to  the  Internet
  313. Addressing situation.
  314.  
  315. But first, let's introduce some more formality:
  316.  
  317.      *    An address is a string (i.e., an ordered set) of  symbols
  318.           taken   from   a  given  alphabet  (e.g.,  ASCII,  {0,1},
  319.           {1,2,...9,0}).
  320.  
  321.      *    In a UA tree the level of a given address is its depth in
  322.           the tree.  The level of the address A is denoted by L(A).
  323.  
  324.      *    Address concatenation (extended to  the  right)  will  be
  325.           used.  The concatenation is denoted by a "-".
  326.  
  327.      *    If both A1 and A2 are addresses of the  same  process  P,
  328.           then 
  329.  
  330.                (1)  L(A1) and L(A2) may differ, and
  331.  
  332.                (2)  The addresses (A1)-(X)  and  (A2)-(X)  are
  333.                     necessarily addresses of the same process.
  334.  
  335.      *    Addresses  should  always  be  decodable  in  a  strictly
  336.           left-to-right sequential manner (prefix coding).
  337.  
  338. What is the ARPANET address of my mailbox?
  339.  
  340. In the TENEX environment it is [ISI]-(MAILBOX)-<DANNY>.  But in  another
  341. environment,  in  the  host  [X], it could be [X]-<DANNY>-(MAILBOX).  Or
  342. maybe in the form [X]-/TCP/-(MAIL.DEPO)-<DANNY>.
  343.  
  344.                                      7
  345.  
  346.  
  347.  
  348. Obviously we want to expand it upwards, to allow for other networks.  We
  349. could simply add in front of these addresses a network field and get
  350.  
  351.                    {ARPANET}-[ISI]-(MAILBOX)-<DANNY>
  352.  
  353. and similar addresses.  In other networks the value of the NETWORK-field
  354. may be {PRNET-SF}, {PRNET-BOS}, {SATNET}, etc.
  355.  
  356. What is the relation between these nets? Do they all belong to the  same
  357. parent like USA or USA-DoD?
  358.  
  359. This could be a solution, and if adopted my mail address may  be  upward
  360. expanded in the UA scheme to be like:
  361.  
  362. {GALAXY-573}-[SOLAR.SYS]-(EARTH)-<USA>-{ARPANET}-[ISI]-(MAILBOX)-<DANNY>
  363. With  a  clever use of defaults, the first several fields may be omitted
  364. from most of the intraglobal communication.
  365.  
  366. The extension of this address upward, to include METANETs, SUPERNETs and
  367. GIGANETs,  is  very  elegant.   This  is the prevailing popular approach
  368. expressed in a series of notes and papers,  such  as  Ken  Harrenstien's
  369. note,   and   various   other  communications  between  the  members  of
  370. [SRI-KL]<NETINFO>FIELD-ADDRESS.LIST.  The  intelligent  reader  probably
  371. has  noticed  by  now  that  this  note  does  not subscribe to the same
  372. philosophy.
  373.  
  374. This solution suffers from several problems.   What  is  a  network?  Is
  375. every  bus  to  which several processes are connected a network? If not,
  376. why? What is the relation between networks?
  377.  
  378. In order to stress the difference between the structure of the  internet
  379. address  and  of  the other universal addressing schemes, let's consider
  380. the following example.  One of the ARPANET hosts, [PARC-MAXC],  is  tied
  381. to a private network.  This network is actually a very rich internetwork
  382. environment, with about  14  networks  and  about  400  hosts,  but  for
  383. simplicity let us consider it functionally as a single {XEROX-net}.  One
  384. of the  hosts  on  this  net  is  [RIG],  the  University  of  Rochester
  385. Intelligent  Gateway  to the internal {U-of-R-net}.  This description is
  386. not  accurate,  since  [RIG]  is  actually  connected  directly  to  the
  387. {ARPANET},  not to {XEROX-net}.  But for the sake of the argument let us
  388. assume this connectivity.  We preferred not to use other actual examples
  389. for several reasons.  A poet's-license is nice to have....
  390.  
  391. One of the hosts on the {U-of-R-net} is, say,  [NOVA-3].   What  is  its
  392. address? Obviously it is
  393.  
  394.      {ARPANET}-[PARC-MAXC]-{XEROX-Net}-[RIG]-{U-of-R-Net}-[NOVA-3].
  395.  
  396. By the way, whenever an intermediate host in such a specification (i.e.,
  397. a gateway) is between two networks only, there is no need to specify the
  398. destination network, since it is uniquely defined by context.   However,
  399. this  is  not  a  good practice, since addresses have to be changed when
  400. this host is connected to more networks.
  401.  
  402.                                      8
  403.  
  404.  
  405.  
  406. What is [ISI]'s address? Obviously {ARPANET}-[ISI].
  407.  
  408. "Not so!" scream the U-of-R people.  The addresses of  [NOVA-3]  and  of
  409. [ISI] are quite different from the point of view of [NOVA-2].  According
  410. to it, the address of [NOVA-3] is simply  {U-of-R-Net}-[NOVA-3]  but  of
  411. [ISI] is {U-of-R-Net}-[RIG]-{XEROX-Net}- [PARC-MAXC]-{ARPANET}-[ISI].
  412.  
  413. Who is right? Neither!! Either approach is equally  wrong.   Neither  of
  414. these  addresses  is above the other in the UA scheme.  All the networks
  415. involved in the interconnection of these networks are  of  equal  level,
  416. unless  we  decide  otherwise  for administrative reasons.  The internet
  417. communication environment does not have up-and-down relations, except in
  418. the eyes of some users, which may be very subjective.
  419.  
  420.  
  421. INTERNETWORK ADDRESSES ARE DIFFERENT
  422.  
  423. Telephone stations are always connected to the system network, and their
  424. position  in it dictates their addresses.  Not so with computer networks
  425. which spring into an independent existence until they are interconnected
  426. to  others,  if ever.  Therefore, their addresses cannot be deduced from
  427. their positions (geographically or connection-wise) and vice versa.
  428.  
  429. Therefore, the network ID is an arbitrary string.  Who  assigns  it  and
  430. makes sure that no conflicts occur? Is it NBS? Jon Postel? Another Czar?
  431.  
  432. At this point we suggest that:
  433.  
  434.      *    There is no universal hierarchy of networks, in  contrast
  435.           to the telephone and the postal systems.
  436.  
  437.      *    There are too many networks to be named and/or  addressed
  438.           in a single flat name/address space.
  439.  
  440.      *    Therefore, some naming/addressing  hierarchy  has  to  be
  441.           introduced.  However, this addressing tree does not serve
  442.           as  a   basis   (or   underlying   structure)   for   the
  443.           communication connectivity.
  444.  
  445.      *    Routing cannot be computed from any point  to  any  point
  446.           from the addresses alone.
  447.  
  448. How should  internetwork  routing  be  performed?  There  are  obviously
  449. several  possibilities.   It could be performed entirely by the networks
  450. involved (i.e., the communication system), by  the  source,  or  by  any
  451. combination of the communication system and the source.
  452.  
  453. It is always  desirable  to  distribute  the  knowledge  about  possible
  454. destinations to the various centers (gateways?), such that their "sphere
  455. of knowledge" is as large as possible, though uniformity should  not  be
  456. required.   More  knowledge  should  be kept about frequent destinations
  457. than about less frequent ones.
  458.  
  459.                                      9
  460.  
  461.  
  462.  
  463. Since this information must be limited due to  practicalities  (such  as
  464. finite  storage  and  updating  procedures),  it  is impossible that all
  465. sources always know about all possible destinations.
  466.  
  467. What should be done about unknown destinations?
  468.  
  469. Several possibilities may be considered.
  470.  
  471.      o    Having a `supernet' of default sub destinations with  the
  472.           hope  that  they  know  how to find a way to the terminal
  473.           destination (like the phone and the postal systems),
  474.  
  475.      o    providing internetwork-wide directory services, or
  476.  
  477.      o    refusal of service.
  478.  
  479. Let's consider each of these three possibilities.
  480.  
  481. Having both <USA>-{ARPANET} and <USA>-{XEROX-Net-3} does  not  guarantee
  482. the  existence  of the path {ARPANET}==<USA>=={XEROX-Net-3}.  Therefore,
  483. the supernet (metanet?) is not a part of  the  underlying  communication
  484. structure as in the phone and postal situations.  
  485.  
  486. In order for this approach to work, one has to create this supernet  and
  487. keep   it   updated   about  all  changes  of  the  entire  internetwork
  488. environment.  Both the storage and the updating procedures  seem  to  be
  489. impractical.
  490.  
  491. The  second  approach,  the  network-wide-directory-help,  is   a   very
  492. reasonable  one.   It  has a major drawback in the necessity to maintain
  493. centers with indefinite  knowledge  radius.   Note  that  the  telephone
  494. directory  services are structured according to the addressing hierarchy
  495. of NPA-CO, and are not flat as may be  suggested  for  the  internetwork
  496. environment.   In  essence, this second approach has all the problems of
  497. the first one.
  498.  
  499. The third approach, namely, refusal of service to unknown  destinations,
  500. is  consistent,  to  say  the  least.   Admittedly,  it  seems  like  an
  501. inconvenience to users.  It should be supplemented by ways of "learning"
  502. about the unknown destinations, such that refusal should never occur, or
  503. at most, only in very rare  situations.   Directory  services  could  be
  504. helpful.
  505.  
  506. Hence, this approach supports serving only  destinations  to  which  the
  507. routing  is  either apriori known or supplied.  Note how similar this is
  508. to the telephone system philosophy.
  509.  
  510. In summary: The internet routing problem is different from  the  routing
  511. problems of other systems because the internet environment does not have
  512. a communication connectivity which supports a UA scheme,  and  therefore
  513. the  addresses  cannot  support  a  direct address-to-routing mapping by
  514. using only a definite amount of knowledge.  
  515.  
  516.                                     10
  517.  
  518.  
  519.  
  520. I HATE TO ADMIT IT, BUT ...
  521.  
  522. At the beginning of this note, and in an earlier note, I  used  a  great
  523. line telling that "names tell what the processes are, and addresses tell
  524. where they are." It continues by "routings tell how to get there."
  525.  
  526. I hate to admit  that  by  now  I  have  some  reservations  about  this
  527. definition.   My  name  is  "Danny."  My address is "ISI." When I was at
  528. Tech, my name was  the  same,  but  the  address  was  different.   This
  529. supports  the  definition.   How  about  the addresses in a broadcasting
  530. media network? When a host changes its position (location) on  the  same
  531. Ethernet,  its address does not change.  Well, maybe these addresses are
  532. not real addresses, according to the definition.  Admittedly, this is an
  533. uncomfortable thought.
  534.  
  535. I believe that there is a better explanation.  I suggest that an address
  536. is "the canonic routing from the root of the addressing-tree." It sounds
  537. recursive, doesn't it? 
  538.  
  539. To be more precise, an addressing scheme is a hierarchical  organization
  540. of  elements,  with  code assignment such that each element has a unique
  541. set of codes, corresponding to its position in the hierarchy.
  542.  
  543. The notion that the address tells how-to-get-there from the root of  the
  544. tree  is very similar to the notion that absolute coordinates are really
  545. relative, with respect to the origin.
  546.  
  547. Since we know (by default) how to get from the source to  the  UA  root,
  548. and since the address tells how to get to the destination from the root,
  549. the address tells how to get from the source to the destination.
  550.  
  551. Hence, by definition, addresses are routings.
  552.  
  553. This leaves us only with names and routings.  This should  not  surprise
  554. us  now,  since we already discovered that the telephone system has only
  555. names and routings.
  556.  
  557. Since the general internet environment does not have  a  hierarchy,  the
  558. notion  of addresses suffers.  Since the addresses are "routing from the
  559. root," and since there is no root of the entire system,  our  conclusion
  560. is that there are no addresses, only names and routing.  In other words,
  561. what we are used to call an address is actually a routing  (even  though
  562. it  is  of higher level than the hop-by-hop routing).  In a well defined
  563. (and tightly  controlled)  environment,  such  as  the  {ARPANET},  this
  564. address/routing  is  a  well  defined  string.  In general, it may be of
  565. indefinite length and structure.
  566.  
  567. If the destination is in the neighborhood, such as the same network, the
  568. same  nets-cluster,  the same agency (even on different net), the system
  569. may have a built-in knowledge of  how  to  get  to  it.   Otherwise  the
  570. routing information needed should be supplied by the sender.  
  571.  
  572.                                     11
  573.  
  574.  
  575.  
  576. PROPOSAL FOR ADDRESSING AND ROUTING
  577.  
  578. Our proposal for addressing and routing is as follows:
  579.  
  580.      *    Establish a UA scheme, of variable level structure.
  581.  
  582.      *    Disseminate as much knowledge to each participating  node
  583.           as deemed practical.
  584.  
  585.      *    Allow the option of routing to be included in the headers
  586.           of the messages.
  587.  
  588.      *    Refuse delivery of messages to a destination with unknown
  589.           routing
  590.  
  591.      *    Establish internet-directory-assistance service.
  592.  
  593. The  proper  use  of  the  optional  routing  is  to  supply  a  set  of
  594. subdestinations  which  may  be  as far apart as the networks can handle
  595. without help.  This is very  much  like  source  routing  for  telephone
  596. connections,  where  a  sequence of switching-centers is designated by a
  597. user, but the communication subsystem is free to optimize the hop-by-hop
  598. routing between these centers.
  599.  
  600. As long as the number of  participating  networks  in  the  internetwork
  601. environment  is  small,  it  is possible to have each of them know about
  602. routing to all the others.  However, we already have a  large  community
  603. of  networks,  including several PRNETs, networks in universities, about
  604. 15 networks at Xerox, the commercial and the national ones, many in DoD,
  605. all  the  DEC-Nets,  and  many  others.   In  addition,  each big modern
  606. substantial computing system is a network.
  607.  
  608. One may be advised to expect the number of networks  to  grow,  and  the
  609. internet connectivity to get more and more obscure.  
  610.  
  611. Therefore, optional source routing seems to be the  most  sensible,  and
  612. the  only,  alternative.  This does not exclude the notion that internet
  613. clusters of any size optimize their internal routing by any scheme,  for
  614. example by ARPANET-like dynamic routing scheme.
  615.  
  616. We recommend that the optional source routing will be composed  of  self
  617. level-identifying  fields.  Note that this is like the telephone dialing
  618. sequence.
  619.  
  620. The   self-identifying   fields   could   be   implemented   either   by
  621. codes-exclusion   (like  the  telephone  system)  or  by  identification
  622. subfields.  Obviously these two schemes are equivalent, and  the  choice
  623. between them is just a matter of convenience.  
  624.  
  625.